/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.losalpes.datos;

import com.losalpes.persistence.entity.Client;
import com.losalpes.persistence.entity.Compra;
import com.losalpes.persistence.entity.Mueble;
import com.losalpes.persistence.entity.TipoDocumento;
import com.losalpes.persistence.entity.TipoMueble;
import java.util.ArrayList;
import java.util.List;

/**
 * Clase encargada de simular un repositorio de datos en el cual se almacenan
 * los objetos de negocio de la aplicacion.
 * @author Oscar Ballesteros
 */
public class RepositorioDatos {

    private static RepositorioDatos instancia;

    private ArrayList<Mueble> ms = new ArrayList<Mueble>();
    private ArrayList<Compra> comprasRealizadas = new ArrayList<Compra>();
    private List<Client> clients = new ArrayList<Client>();

    private RepositorioDatos() {
        instanciarMuebles();
        instanciarClientes();
    }

    public static RepositorioDatos getInstance(){
        if(instancia == null){
            instancia = new RepositorioDatos();
        }
        return instancia;
    }

    private void instanciarMuebles(){
         for (int i = 0; i < 10; i++) {
                Mueble m = new Mueble("001"+i, "Mueble" + i, "Descripción del mueble " + i, TipoMueble.Exterior);
                m.setPrecio(1.5);
                ms.add(m);
            }
    }

    private void instanciarClientes(){
      for (int i = 0; i < 10; i++) {
            Client cTemp = new Client(TipoDocumento.CEDULA, "numeroDocumento" + i,
            "nombreCliente" + i, "telefonoFijo" + i,
            "direccion" + i, "ciudad" + i,
            "departamento" + i, "pais" + i,
            "email" + i);

            clients.add(cTemp);
        }
    }

    public ArrayList<Mueble> getMs() {
        return ms;
    }

    public void setMs(ArrayList<Mueble> ms) {
        this.ms = ms;
    }

    public ArrayList<Compra> getComprasRealizadas() {
        return comprasRealizadas;
    }

    public void setComprasRealizadas(ArrayList<Compra> comprasRealizadas) {
        this.comprasRealizadas = comprasRealizadas;
    }

    public List<Client> getClients() {
        return clients;
    }

    public void setClients(List<Client> clients) {
        this.clients = clients;
    }


}
